<!DOCTYPE html>
<html lang='en'>
<head>
    <meta charset='UTF-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1.0'>
    <title>Document</title>
    <script src='../vue.js'></script>
</head>
<body>
    <div id='app'>
        <button @click="person.age++">修改age</button>
        <button @click="deleteAttr">删除name属性</button>
        <button @click="addAttr">新增sex属性</button>
        <p>姓名是{{person.name}}</p>
        <p>年龄是{{person.age}}</p>
    </div>
    <script>
        Vue.config.productionTip = false;
        const vm = new Vue({
            el:'#app',
            data(){
                return {
                person:{
                    name:'laowang',
                    age:18
                }
            }
            },
            methods:{
                deleteAttr(){
                    //删除属性的错误写法:因为Vue没有对属性的删除进行监听,所以不会更新视图
                    // delete person.name

                    // 我们需要使用Vue.delete() 或者 vm.$delete()方法删除(这两个只是存放位置不同的的同一个方法)
                    // Vue.delete(this.person,'name')
                    this.$delete(this.person,'name')
                },
                addAttr(){
                    // 新增属性的错误写法:因为Vue并没有对sex属性进行监听,所以不会更新视图
                    // person.sex='男'

                    //我们需要使用Vue.set() 或者 vm.$set()方法新增(这两个只是存放位置不同的同一个方法),可以新增和修改
                    // this.$set(this.person,'sex','男')
                    Vue.set(this.person,'sex','女')
                }
            }
    })
    </script>
</body>
</html>